home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef WIN_STAT_C
- #define WIN_STAT_C
- /*
- ** $Filename: Win_stat.c $
- ** $Revision: 1.12 $
- ** $Release: 2.21 $
- ** $Date: 92/09/14 $
- **
- **
- ** (C) Copyright 1992 David Scrève
- ** All Rights Reserved
- */
-
-
-
- #define GD_Gadget20 20
- #define GD_Gadget21 21
- #define GD_Gadget22 22
- #define GD_Gadget23 23
- #define GD_Gadget24 24
- #define GD_Gadget25 25
- #define GD_Gadget26 26
- #define GD_Gadget27 27
- #define GD_Gadget28 28
- #define GD_Gadget29 29
- #define GD_Gadget30 30
-
- #define GD_Gadget54 54
- #define GD_Gadget55 55
- #define GD_Gadget56 56
- #define GD_Gadget57 57
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <graphics/displayinfo.h>
-
- #include "EXMessages.h"
- #include "structures.h"
- #include "EXvariables_globales.h"
- #include "EXvisual_global.h"
-
- /* Données pour Intuition */
-
- struct Window *stat_Wnd = 0l;
- struct Gadget *stat_GList = 0l;
- struct Gadget *stat_Gadgets[14];
-
- extern struct Screen *Scr;
- extern APTR VisualInfo;
- extern struct TextAttr topaz8;
- extern struct Menu *Menus;
-
-
- struct TagItem stat_WindowTags[] = {
- WA_Left, 0,
- WA_Top, 11,
- WA_Width, 640,
- WA_Height, 245,
- WA_IDCMP, IDCMP_MOUSEBUTTONS|IDCMP_MOUSEMOVE|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_INTUITICKS|IDCMP_REFRESHWINDOW|IDCMP_MENUPICK,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, 0l,
- WA_Title, (ULONG)&message[150][0],
- WA_ScreenTitle, (ULONG)&AppliTitle,
- WA_CustomScreen, 0l,
- WA_MinWidth, 67,
- WA_MinHeight, 21,
- WA_MaxWidth, 640,
- WA_MaxHeight, 256,
- TAG_DONE };
-
-
- long stat_InitStuff( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
-
-
- stat_WindowTags[ 9 ].ti_Data = (ULONG)Scr;
-
-
- if ( NOT( g = (struct Gadget *)CreateContext( &stat_GList )))
- return( 3l );
-
- ng.ng_LeftEdge = 132;
- ng.ng_TopEdge = 223;
- ng.ng_Width = 96;
- ng.ng_Height = 12;
- ng.ng_GadgetText = &message[151][0];
- ng.ng_TextAttr = &topaz8;
- ng.ng_GadgetID = GD_Gadget23;
- ng.ng_Flags = PLACETEXT_LEFT;
- ng.ng_VisualInfo = VisualInfo;
-
- g = (struct Gadget *)CreateGadget( NUMBER_KIND, g, &ng,GTNM_Border,TRUE, TAG_DONE );
-
- stat_Gadgets[ 3 ] = g;
-
- ng.ng_LeftEdge = 131;
- ng.ng_TopEdge = 110;
- ng.ng_Width = 92;
- ng.ng_GadgetID = GD_Gadget24;
-
- g = (struct Gadget *)CreateGadget( NUMBER_KIND, g, &ng,GTNM_Border,TRUE, TAG_DONE );
-
- stat_Gadgets[ 4 ] = g;
-
- ng.ng_LeftEdge = 547;
- ng.ng_TopEdge = 222;
- ng.ng_Width = 62;
- ng.ng_GadgetText = &message[152][0];
- ng.ng_GadgetID = GD_Gadget26;
-
- g = (struct Gadget *)CreateGadget( NUMBER_KIND, g, &ng, GTNM_Number, adherent.NbCommandes, GTNM_Border, TRUE, TAG_DONE );
-
- stat_Gadgets[ 6 ] = g;
-
- ng.ng_LeftEdge = 300;
- ng.ng_TopEdge = 223;
- ng.ng_Width = 110;
- ng.ng_GadgetText = &message[153][0];
- ng.ng_GadgetID = GD_Gadget28;
-
- g = (struct Gadget *)CreateGadget( NUMBER_KIND, g, &ng, GTNM_Number, adherent.age, GTNM_Border, TRUE, TAG_DONE );
-
- stat_Gadgets[ 7 ] = g;
-
- ng.ng_LeftEdge = 547;
- ng.ng_TopEdge = 190;
- ng.ng_Width = 62;
- ng.ng_GadgetText = &message[154][0];
- ng.ng_GadgetID = GD_Gadget29;
-
- g = (struct Gadget *)CreateGadget( NUMBER_KIND, g, &ng, GTNM_Number, adherent.NbPrgEmp, GTNM_Border, TRUE, TAG_DONE );
-
- stat_Gadgets[ 8 ] = g;
-
- ng.ng_LeftEdge = 300;
- ng.ng_TopEdge = 191;
- ng.ng_Width = 109;
- ng.ng_GadgetText = &message[155][0];
- ng.ng_GadgetID = GD_Gadget30;
-
- g = (struct Gadget *)CreateGadget( TEXT_KIND, g, &ng, GTTX_Text,&adherent.prenom, GTTX_Border, TRUE, GTTX_Text, TRUE, TAG_DONE );
-
- stat_Gadgets[ 9 ] = g;
-
- ng.ng_Width = 192;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Gadget57;
- ng.ng_Flags = 0;
-
- g = (struct Gadget *)CreateGadget( STRING_KIND, g, &ng, GTST_MaxChars, 256, TAG_DONE );
-
- stat_Gadgets[ 13 ] = g;
-
- ng.ng_LeftEdge = 416;
- ng.ng_TopEdge = 26;
- ng.ng_Height = 115;
- ng.ng_GadgetText = &message[156][0];
- ng.ng_GadgetID = GD_Gadget25;
- ng.ng_Flags = PLACETEXT_ABOVE|NG_HIGHLABEL;
-
- g = (struct Gadget *)CreateGadget( LISTVIEW_KIND, g, &ng, GTLV_Labels, &Gadget5List, GTLV_ShowSelected, stat_Gadgets[13], TAG_DONE );
-
- stat_Gadgets[ 5 ] = g;
-
- ng.ng_Width = 208;
- ng.ng_Height = 12;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Gadget56;
- ng.ng_Flags = 0;
-
- g = (struct Gadget *)CreateGadget( STRING_KIND, g, &ng, GTST_MaxChars, 256, TAG_DONE );
-
- stat_Gadgets[ 12 ] = g;
-
- ng.ng_LeftEdge = 17;
- ng.ng_TopEdge = 25;
- ng.ng_Height = 79;
- ng.ng_GadgetText = &message[157][0];
- ng.ng_GadgetID = GD_Gadget22;
- ng.ng_Flags = PLACETEXT_ABOVE|NG_HIGHLABEL;
-
- g = (struct Gadget *)CreateGadget( LISTVIEW_KIND, g, &ng, GTLV_Labels, &lstcatList, GTLV_ShowSelected, stat_Gadgets[12], TAG_DONE );
-
- stat_Gadgets[ 2 ] = g;
-
- ng.ng_Width = 205;
- ng.ng_Height = 12;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Gadget54;
- ng.ng_Flags = 0;
-
- g = (struct Gadget *)CreateGadget( STRING_KIND, g, &ng, GTST_MaxChars, 256, TAG_DONE );
-
- stat_Gadgets[ 10 ] = g;
-
- ng.ng_LeftEdge = 22;
- ng.ng_TopEdge = 139;
- ng.ng_Height = 77;
- ng.ng_GadgetText = &message[158][0];
- ng.ng_GadgetID = GD_Gadget20;
- ng.ng_Flags = PLACETEXT_ABOVE|NG_HIGHLABEL;
-
- g = (struct Gadget *)CreateGadget( LISTVIEW_KIND, g, &ng, GTLV_Labels, &lstprgcatList, GTLV_ShowSelected, stat_Gadgets[10], TAG_DONE );
-
- stat_Gadgets[ 0 ] = g;
-
- ng.ng_Width = 163;
- ng.ng_Height = 12;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Gadget55;
- ng.ng_Flags = 0;
-
- g = (struct Gadget *)CreateGadget( STRING_KIND, g, &ng, GTST_MaxChars, 256, TAG_DONE );
-
- stat_Gadgets[ 11 ] = g;
-
- ng.ng_LeftEdge = 240;
- ng.ng_TopEdge = 25;
- ng.ng_Height = 155;
- ng.ng_GadgetText = &message[159][0];
- ng.ng_GadgetID = GD_Gadget21;
- ng.ng_Flags = PLACETEXT_ABOVE|NG_HIGHLABEL;
-
- g = (struct Gadget *)CreateGadget( LISTVIEW_KIND, g, &ng, GTLV_Labels, &Gadget6List, GTLV_ShowSelected, stat_Gadgets[11], TAG_DONE );
-
- stat_Gadgets[ 1 ] = g;
-
- if ( NOT g )
- return( 4l );
-
- stat_WindowTags[ 6 ].ti_Data = (ULONG)stat_GList;
-
- if ( NOT( stat_Wnd = (struct Window *)OpenWindowTagList( 0l, stat_WindowTags )))
- return( 5l );
-
- SetMenuStrip( stat_Wnd, Menus );
- GT_RefreshWindow( stat_Wnd, 0l );
-
- return( 0l );
- }
-
- void stat_CleanStuff( void )
- {
- if ( Menus )
- ClearMenuStrip( stat_Wnd );
-
-
- if ( stat_Wnd )
- CloseWindow( stat_Wnd );
-
- if ( stat_GList )
- FreeGadgets( stat_GList );
-
- }
-
- BOOL stat_UpDateGadgets(adhrnt)
- struct adhrent adhrnt;
- {
- LONG age;
- BOOL resultat;
-
- GT_SetGadgetAttrs(stat_Gadgets[9],stat_Wnd,NULL,GTTX_Text, &adhrnt.prenom, TAG_DONE);
- age=NbAnnees(adhrnt.age);
- GT_SetGadgetAttrs(stat_Gadgets[7],stat_Wnd,NULL,GTNM_Number,age , TAG_DONE);
- GT_SetGadgetAttrs(stat_Gadgets[8],stat_Wnd,NULL,GTNM_Number,adhrnt.NbPrgEmp, TAG_DONE);
- GT_SetGadgetAttrs(stat_Gadgets[6],stat_Wnd,NULL,GTNM_Number,adhrnt.NbCommandes , TAG_DONE);
-
- EmptyList((struct List *)&Gadget5List);
- if(resultat=FillListPrgadherent((struct List *)&Gadget5List,adhrnt.nom))
- GT_SetGadgetAttrs(stat_Gadgets[5],stat_Wnd,NULL,GTLV_Labels, &Gadget5List, TAG_DONE);
- return(resultat);
- }
-
- LONG ModStatistiques()
- {
- BOOL close_me;
- ULONG class;
- ULONG code;
- APTR address;
- struct IntuiMessage *my_message;
- BOOL complete = FALSE;
- BOOL error=FALSE;
- LONG result;
- LONG resultat=NULL;
- struct MenuItem *item;
- struct Gadget *gad;
- char CateName[STD_STRING_LEN],program[STD_STRING_LEN],adhe[STD_STRING_LEN];
- char ProgEmpAdhe[STD_STRING_LEN];
- struct adhrent AdhHeader;
- struct CateHeader CateHead;
-
- EmptyList(&lstprgdiskList);
- EmptyList(&lstprgcatList);
- CateName[0]=0;
- program[0]=0;
- adhe[0]=0;
- ProgEmpAdhe[0]=0;
- stat_Wnd=0l;
- stat_GList=0l;
-
- if (ListFull(AdherentDir,(struct List *)&Gadget6List))
- {
- result=stat_InitStuff();
- if (result==NULL);
- {
- close_me = FALSE;
- while(!close_me)
- {
- Wait( 1 << stat_Wnd->UserPort->mp_SigBit );
- while(my_message=(struct IntuiMessage *)GT_GetIMsg( stat_Wnd->UserPort))
- {
- class = my_message->Class;
- code = my_message->Code;
- address=my_message->IAddress;
- GT_ReplyIMsg( (struct IntuiMessage *)my_message );
- switch( class )
- {
- case IDCMP_CLOSEWINDOW:
- if (close_me=OldDoubleRequest(stat_Wnd,message[46],message[128],FALSE))
- resultat=MOD_QUIT;
- break;
-
- case IDCMP_GADGETUP :
- gad=address;
- switch (gad->GadgetID)
- {
- case GD_Gadget54 :
- GT_SetGadgetAttrs(stat_Gadgets[10],stat_Wnd,NULL,GTST_String,&program[0],TAG_DONE );
- break;
-
- case GD_Gadget55 :
- GT_SetGadgetAttrs(stat_Gadgets[11],stat_Wnd,NULL,GTST_String,&adhe[0],TAG_DONE );
- break;
-
- case GD_Gadget56 :
- GT_SetGadgetAttrs(stat_Gadgets[12],stat_Wnd,NULL,GTST_String,&CateName[0],TAG_DONE );
- break;
-
- case GD_Gadget57 :
- GT_SetGadgetAttrs(stat_Gadgets[13],stat_Wnd,NULL,GTST_String,&ProgEmpAdhe[0],TAG_DONE );
- break;
-
- case GD_Gadget20 :
- strcpy(program,((struct StringInfo *)stat_Gadgets[10]->SpecialInfo)->Buffer);
- if (!(error=((result=RecherchePrgCat(program,CateName))==-1)))
- {
- NbEmprunts=nombremprunts(result);
- error=(NbEmprunts==-1);
- if (!error)
- GT_SetGadgetAttrs(stat_Gadgets[3],stat_Wnd,NULL,GTNM_Number, NbEmprunts, TAG_DONE);
- }
- break;
-
- case GD_Gadget21 :
- strcpy(adhe,((struct StringInfo *)stat_Gadgets[11]->SpecialInfo)->Buffer);
- if (ReadAdheHeader(adhe,(struct adhrent *)&AdhHeader))
- error=!stat_UpDateGadgets(AdhHeader);
- break;
-
- case GD_Gadget22 :
- strcpy(CateName,((struct StringInfo *)stat_Gadgets[12]->SpecialInfo)->Buffer);
- EmptyList((struct List *)&lstprgcatList);
- if(!(error=!FillListPrgCat((struct List *)&lstprgcatList,CateName)))
- {
- GT_SetGadgetAttrs(stat_Gadgets[0],stat_Wnd,NULL,GTLV_Labels, &lstprgcatList, GTLV_Selected,1,TAG_DONE);
- strcpy(program,((struct StringInfo *)stat_Gadgets[10]->SpecialInfo)->Buffer);
- if (!(error=((result=RecherchePrgCat(program,CateName))==-1)))
- {
- NbEmprunts=nombremprunts(result);
- error=(NbEmprunts==-1);
- if (!error)
- GT_SetGadgetAttrs(stat_Gadgets[3],stat_Wnd,NULL,GTNM_Number, NbEmprunts, TAG_DONE);
- }
- }
- if (!(error=!ReadCateHeader(CateName,&CateHead)));
- GT_SetGadgetAttrs(stat_Gadgets[4],stat_Wnd,NULL,GTNM_Number,CateHead.nb_emprunts , TAG_DONE);
- break;
-
- }
- break;
-
- case IDCMP_REFRESHWINDOW:
- GT_BeginRefresh(stat_Wnd);
- GT_EndRefresh(stat_Wnd,complete);
- break;
-
- case IDCMP_MENUPICK:
- item=(struct MenuItem *)ItemAddress(Menus,code);
- if (item!=NULL)
- {
- resultat=ManageMenus(code,stat_Wnd);
- close_me=(resultat!=CHANGE_LANGUAGE && resultat!=NULL && resultat!=MOD_STATISTIQUES);
- if (resultat==CHANGE_LANGUAGE)
- {
- stat_CleanStuff();
- result=stat_InitStuff();
- }
- }
- break;
- }
- }
- }
- }
- stat_CleanStuff();
- }
- EmptyList((struct List *)&Gadget6List);
- return(resultat);
- }
-
-
- #endif /* WIN_STAT_C */